/**
 * Created by mahai on 2018/12/21.
 */

const JwtStrategy = require('passport-jwt').Strategy,
    ExtractJwt = require('passport-jwt').ExtractJwt;
const mongoose =require('mongoose');
const User = mongoose.model('users');
const keys = require('../config/db');

const opts = {};
opts.jwtFromRequest = ExtractJwt.fromAuthHeaderAsBearerToken();
opts.secretOrKey = keys.secretOrKey;

module.exports = passport => {

    passport.use(new JwtStrategy(opts, (jwt_payload, done) => {
        User.findById(jwt_payload.id).then(user=>{
            if(user){
                return done(null,user)
            }
            return done(null,false)
        }).catch(err=> console.log(err))
    }));
};